package com.itdachang.design.structural.proxy.cglib;

/**
 * 什么场景用到？
 *  Mybatis的mapper到底是什么？怎么生成的？
 *      动态代理
 *      UserMapper、CityMapper mybatis帮我们实现了MapperProxy调用他自己的方法
 *  Seata的DataSourceProxy是什么？
 *      多数据源交互
 *  DriuidDataSource存在的Proxy模式
 *  监控链
 *  装饰器、代理
 *  装饰器与代理之间的区别很细微、可以认为装饰器就是代理的一个子集
 *  静态代理就是装饰器的方式
 * @author gcq
 * @Create 2022-02-11
 */
public class CglibTest {
    public static void main(String[] args) {
        LeiTikTok tikTok = new LeiTikTok();

        LeiTikTok proxy = CglibProxy.createProxy(tikTok);
        proxy.tiktokHaha();
    }
}